ARCterm 7, version 1.44      Updates since version 1.22             27-Jan-1992
                             --------------------------

----------------------------- Release 1.44 information ------------------------

Release 1.44 implements serial block drivers. These are code fragments loaded
by ARCterm through which serial connections are made. This change was mainly
to support extra serial ports, but also provides neater Econet modem server
support and also ways to link ARCterm into other applications as a terminal
emulation slave - eg KA9Q. Central to this is a new !System type directory,
called !SerialDev. All drivers for serial cards, etc should be placed in
!SerialDev.Modules. If ARCterm cannot locate !SerialDev, it will only be able
to use the internal serial port.

To select a different serial driver, use the Configuration->Serial port->
Device driver menu. You can also select the port number with this menu.
Various different drivers will have different baud rate ranges, ARCterm
will reflect this in the configuration menus and in the dial directory.

Information on the serial driver specification for those wanting to write
new ones is detailed on the Extras disk 'DriverSpec' directory.

The Econet modem server has been improved - now each modem server can provide
up to 16 serial sessions, either via additional serial cards or by internal
pipes - for example, ARCbbs can be loaded on the server machine and provide
a number of BBS logon ports that can be access with ARCterm via the modem
server. NOTE: Due to time constraints, the improved Econet driver is NOT
supplied with version 1.44. It will be supplied with v1.45 and above, so
if you use the Econet modem server please contact us for the later version.

Other improvements:

* A4 portable users who don't have a usable 'Action' key can perform keyboard
  shortcuts by holding down the left-hand shift and left-hand control keys
  whilst typing the shortcut code.

----------------------------- Release 1.43 information ------------------------

Release 1.43 implements the device claim protocol, allowing you to have more
than one program that uses the serial port loaded at a time, the one which
has the port appears solid on the iconbar, the other(s) appear greyed out.
To force ARCterm to claim or release the serial port, click adjust on the
iconbar icon. When ARCterm claims the port, it will automatically reinitialise
the modem.

To support this from the script language, these script commands were added:

  $port_claim()    - Tries to claim port. Returns "" if sucessful, otherwise
                     returns fail message supplied by current owner of port.

  port_release()   - Releases port.

  port_active()    - Returns state of port (claimed and availiable to us is
                     non-zero)

The other purpose of this release is to try and get around problems encountered
with fast modems and RISC OS 3.10 - at speeds of 9600 and above, RISC OS can
miss serial interrupts which results in corruption of data - this is more
likely to happen during disk access. As a temporary solution, Zmodem has
been tweaked to stop every 8kb and write the data collected to disk, restarting
the data transfer when it has finished - this helps enormously with the
problem, but note this is not a solution - for example, script files which
look for messages in received data may hang if the message they are looking
for has become corrupted (again, this is particularly noticable with scripts
that access the disk during data reception).

----------------------------- Release 1.41 information ------------------------

This file documents changes and additions to complement the v1.22 manual,
however all the information below is included in the v1.41 manual already.

Main improvements
-------------------------------------------------------------------------------

* Tltel emulation

* Avatar emulation

* Hexdump and Showcontrol emulations

* Faster Zmodem

* Improved Kermit

* Better script expression handling

* More script commands

* Faster scripts

* More and better modem drivers

* Econet modem server added.

* 3-step autologon in phone directory extended to 5 steps.

* Real flashing cursor


Upgrading to v1.41 from v1.22
-------------------------------------------------------------------------------

[Hard disk users]

1. Open your existing !ARCterm by holding down <Shift> and doubleclicking
   on the ARCterm icon. Copy !Phone and !Keys to another directory.

2. Close the !ARCterm directory and delete !ARCterm.

3. Copy the new !ARCterm from the floppy disk to where the old !ARCterm was.

4. Open the new !ARCterm as in (1). Delete !Keys and !Phone. Move (hold down
   shift and drag the file) !Keys from where you put them back into the
   !ARCterm directory. DO NOT COPY !Phone.

5. Load the new !PhoneTo7 application from the v1.36 extras disk.

6. Drag your old !Phone onto the !PhoneTo7 icon on the iconbar. Drag out
   the new !Phone into the new !ARCterm directory. This will update your
   phone directory to the new ARCterm 7 format.

7. Done!

[Floppy users]

1. Create a RAM disk of 600k.

2. Open your existing !ARCterm on your work disk by holding down <Shift> and
   doubleclicking on the ARCterm icon. Copy !Phone and !Keys to the RAM disk.

3. Close the !ARCterm directory and delete !ARCterm from your work disk.

4. Copy the new !ARCterm from the floppy disk to the RAM disk.

5. Open the new !ARCterm on the RAM disk as in (1). Delete !Keys and !Phone.
   Move (hold down shift and drag the file) the old !Keys into the !ARCterm
   directory. DO NOT COPY !Phone

6. Move the new !ARCterm (shift-drag) onto your work disk from the RAM disk.

7. Load the new !PhoneTo7 application from the v1.36 extras disk.

8. Put your ARCterm work disk back into the drive and open the !ARCterm
   directory.

9. Drag your old !Phone (on the RAM disk) onto the !PhoneTo7 icon on the
   iconbar. Drag out the new !Phone into the !ARCterm directory on your
   work disk. This will update your phone directory to the new ARCterm 7
   format.

10. Done!
  
Detailed release notes
-------------------------------------------------------------------------------

Acorn A5000
-----------

* With the Acorn A5000 and RISC OS 3.00, you need to load the SerialUtil
  module from within the !System directory before running ARCterm. You can
  do this by holding down <Shift> and doubleclicking on your !System, then
  doubleclicking on the Modules directory, then doubleclicking on the
  SerialUtil icon. Preferably, load the module in your boot sequence!

  The module is not needed with RISC OS 3.10.

Mode numbers
------------

* Also, because RISC OS 3 now uses mode 36-39, the ARCterm mode numbers
  have been changed. Mode 36 has been removed, and modes 37-39 have been
  renumbered 47, 48 and 49.

Terminal emulations
-------------------

* There is now a Tltel emulation. This is accessed as with other terminal
  emulations from the terminal menu. As with the Viewdata emulation, frame
  files can be created and viewed - these are in ARCcomm profile 2 format.

  The keypad is practically essential for working in Tltel mode, as real
  terminals have a number of custom buttons - these on ARCterm can be
  labelled in English or French. The return or enter key serves as the
  'Send'/'Envoi' key. Also configurable on the Tltel menu are:

  Colour    - Real Minitel terminals are black & white, using a grey scale.
              Some frames will look wierd in colour!

  X3 codes  - The special keys on the keypad can send different codes, you
              should use X3 codes if you are using the Edutel gateway on
              Campus 2000.

  If you are in Campus 2000 mode, ARCterm recognises the codes for switching
  into/out of Tltel mode (this works from both viewdata and scrolling
  modes).

  When saving text screens from Tltel mode, accents are preserved as far as
  possible.

* Avatar emulation added - this emulation is used on many PC BBS systems and
  uses the full range of 7-bits to give faster colour changes, etc than ANSI.
  When in Avatar mode, ANSI codes are still active, so you can use this for
  almost any PC BBS logon.

* ANSI emulation now supports 'return cursor position' and scrolling regions.

* Terminal emulation speed improved.

* VT102 mode now has 'reversed screen' option to give white-on-black display
  and a couple of other small fixes.

* On VT102 keypad, 'NumLock' now functions as the PF1 (Gold) key.

* Keypads can now be 'attached' to the side of the terminal window (see
  options menu).

* 'Goto page' added to viewdata keypad - clicking on this accesses the
  currently displayed page (useful if you are viewing a page in a frame store
  and want to see the currently online version).

* 'Centre screen' option added (Act-CS) this centres the terminal window
  on the screen.

* The f-keys can now emulate keyboard shortcuts, for example, programming f1
  to:

  |mha|

  Will cause f1 to execute Act-HA.

* Text terminals now have a real flashing cursor. Block or line style can be
  selected from the terminal menu.

* To save memory on 1Mb machines, the session history can either be small
  (128 lines) or large (256 lines) - this is configurable on the options menu.

* HexDump (shows all incoming data in *Dump-style format) and ShowControl
  (highlights all control characters) emulations added (as in ARCterm 6.01)
  for debugging communications sessions.

* When replaying a spoolfile, clicking on the continue icon will pause the
  action until it is clicked again.


File transfers
--------------

* Jmodem has been removed.

* Ymodem and Zmodem now pass load/execution filetypes if conversing with a
  compatible program (ARCterm 7, ARCbbs, Hearsay II, TASKansi+, ARCcomm II).

* ASCII uploads can now be aborted by clicking on the abort box.

* Zmodem is now much more in assembler and hence faster (will work with less
  CPU time, eg when catching up with the buffer).

* Kermit now has access to more server commands and also has better handling
  of ASCII files when not in binary mode.


Script language
---------------

* hostmode() command added to script language. This starts the host mode up -
  script operation will be resumed when 'terminate host mode operation'
  is selected from the maintenance menu. Using 'shutdown' on the wimp menus
  will abort both the hostmode and the script program.

* Script learn mode added. To learn an interactive sequence, drag the script
  icon to where you want the script saved, and then interact with the remote
  system as normal (ARCterm will be saving your keystrokes and the remote
  system's responses to the file in the background).
  When you are finished, click on 'abort' in the toolbox and the script file
  will be closed.

  ARCterm stores the last 10 characters received before typing starts and uses
  these as a waitfor prompt, and puts any typing as type commands. These
  scripts are suitable for dragging into a phone directory entry or for
  modification into standalone scripts.

* Econet modem driver script commands added (see below).

* savescr_area(file,topline,bottomline) - saves the text area between topline
  and bottomline to file 'file'.

* The expression evaluator has been recoded - now it accepts almost all C
  operators in the correct order of precedence. Additions to current
  operators are: ! (not), - (unary minus, eg -1), ~ (bitwise not).

* goto command added. You *cannot* use goto to jump out of if's, for's, while's,
  etc: it must only be used to go somewhere in the *same function* and the *same
  nesting level*. Here is an example of it's use:

  main ()
    {
    integer a=10

    loop:
    prints "Hello world! "
    a=a-1
    if (a<=0)
      {
      return
      }
    goto loop
    }

* Scripts are now tokenised upon loading, resulting in much faster execution
  times.

* download() now returns the number of files sucessfully downloaded.
  upload() now returns the number of files sucessfully uploaded.

  The system variable 'filecount' keeps the count of files sucessfully
  transferred by the last upload() or download() command.

* '//' can now be used for comment lines (like C++)

* 'x' added (like C) to get the ASCII value of a character instead of asc("x")

* pauseshow(timeincs) will wait for specified time in centiseconds, and
  during this time will display any received data.

* The string variable 'downloadpath' in the script language allows you to
  read the default download path.

* The string variable 'runpath' is the path of the currently running script
  file. For example, if you doubleclicked on 

  adfs::Hard.$.Comms.Scripts.TestSc

  runpath would be: adfs::Hard.$.Comms.Scripts.

  This is useful for putting data files, spool files, etc in the same
  directory as the script.

* set(autodownload,on|off) allows setting of Zmodem autodownload status from
  scripts - this is useful so that in a a script you can start your own
  transfers and hence know the number of files transferred sucessfully.

* Both waitfor() and pauseshow() allow the user to type if the keyboard has
  not been claimed - useful when the prompt doesn't appear as it should.

* chain(filename) terminates the current script and executes the specified
  one- just like CHAIN in BASIC.

* Support for calling swi's - swi() and swinr() added. See 'ScriptSum' on
  the extras disk for more information. For passing parameters to SWIs,
  the address() function has been added, which returns the absolute
  address of a variable/array allowing it to be referenced by a SWI.

* Kermit server functions kermit_get() etc added. See ScriptSum for more
  details.

* 'ScriptSum' - a summary of all script commands - is on the extras disk.


Miscellaneous
-------------

* In phone directory, you can now have 5-step prompt-response chains as opposed
  to 3-step as before.

* New modem drivers: Tricom Tornado 10/42, Racal VI2422PA, Courier 2400e,
  Linnet 2400/Eurolink, Racal-Milgo Maxam IV, Pace Linnet Quad, Miracom
  Courier 2400 Plus/Quattro Plus, Dataflex Pocket Stradcom, Discovery 2400,
  Dacom Quadplus, Pace Ultralink 32. Some existing drivers improved.

* Econet modem server added. Load the !Modem application on a remote machine
  on the network (for example, the fileserver running Level 4 FS) and configure
  it for the modem connected to the machine (this is done on the menu from
  the iconbar) - the options are:

  Modem ID - A string describing the modem that appears in the network modem
  selection menu.

  Password - Password needed to gain access to the modem.

  Port - Serial port on machine to use for modem (0 for internal port).

  Modem driver - modem driver number of driver for client's ARCterm to load
  when connecting to this modem server (drivers in the ARCterm modem menu
  are numbered from 0).

  Use 'Save as default' to make these settings permanent.

  To use from another machine (the machine does not need to have a serial
  upgrade fitted, just be on the network) select:

  Configuration->Serial Port->Remote

  and click on the server you wish to use, enter the access password (if any)
  and click on 'OK' - the connection will then be established. To sever the
  connection, you can select

  Configuration->Serial Port->Local

  quit ARCterm, or from the modem server end select disconnect on the menu.
  The modem server icon changes from blue to red when the server is in use.

  In the script language, serial ports can be selected like this:

  serial_local(portnumber)       - portnumber is 0 for the internal port.

  serial_remote(network,station[,password]) - Password is optional.

  [network is 0 if you have no Econet bridges installed].
